﻿using FitnessClubManager.DAL;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FitnessClubManager.BLL;
using System.IO;
namespace FitnessClubManager.GUI.TacNghiep
{
    public partial class FormDangKyThe : Form
    {
        public FormDangKyThe()
        {
            InitializeComponent();
            txtHo_DangKyThe.Focus();
            cmbLoaiThe_DangKyThe.SelectedIndex = 0;
            cmbLoaiThe_DangKyThe_SelectedIndexChanged(this, null);
        }

        private void cmbLoaiThe_DangKyThe_SelectedIndexChanged(object sender, EventArgs e)
        {
            int soTienCoBan = Properties.Settings.Default.SoTienCoBanCuaThe;
            int loaiThe = int.Parse(cmbLoaiThe_DangKyThe.Text);
            int soTien = soTienCoBan * loaiThe;
            NgayHetHanChange(loaiThe);
            txtSoTien_DangKyThe.Text = soTien.ToString();
        }

        private void dtpNgayDangKy_DangKyThe_ValueChanged(object sender, EventArgs e)
        {
            cmbLoaiThe_DangKyThe_SelectedIndexChanged(this, null);
        }

        private void picAvatar_DangKyThe_Click(object sender, EventArgs e)
        {
            //Gọi form chụp hình
            //picAvatar_DangKyThe.Load(Program.filePathNoAvatar);
            //FormChupHinh frm = new FormChupHinh();
            //frm.ShowDialog();
            //picAvatar_DangKyThe.Load(Program.filePathAvatarTemp);
            //if (File.Exists(Program.filePathAvatarTemp))
            //{
            //    Helper.SaveImageAvatar(Program.filePathAvatarTemp, khachHang_CheckCardTab.MaKhachHang);
            //    File.Delete(Program.filePathAvatarTemp);
            //    picAvatar_DangKyThe.Load(Program.GetFilePathAvatar(khachHang_CheckCardTab.MaKhachHang));
            //}
        }

        private void btnDangKy_DangKyThe_Click(object sender, EventArgs e)
        {
            #region Kiểm tra hợp lệ dữ liệu
            int temp;
            errorInfo.Clear();
            if (txtTen_DangKyThe.Text.IsNullOrEmpty())
            {
                errorInfo.SetError(txtTen_DangKyThe, "Tên rỗng");
                return;
            }
            if (txtMaThe_DangKyThe.Text.IsNullOrEmpty())
            {
                errorInfo.SetError(txtMaThe_DangKyThe, "Mã thẻ rỗng");
                return;
            }
            if (cmbLoaiThe_DangKyThe.SelectedIndex == -1)
            {
                errorInfo.SetError(cmbLoaiThe_DangKyThe, "Bạn chưa chọn loại thẻ");
                return;
            }
            if (!int.TryParse(txtSoTien_DangKyThe.Text, out temp))
            {
                errorInfo.SetError(txtSoTien_DangKyThe, "Số tiền không chính xác");
                return;
            }
            #endregion

            #region Đăng ký thẻ
            KhachHang khachHang = new KhachHang();
            khachHang.MaKhachHang = Guid.NewGuid().ToString();
            khachHang.Ho = txtHo_DangKyThe.Text;
            khachHang.Ten = txtTen_DangKyThe.Text;
            khachHang.SoDienThoai = txtSoDienThoai_DangKyThe.Text;
            khachHang.DiaChi = txtDiaChi_DangKyThe.Text;
            khachHang.GhiChu = txtGhiChu_DangKyThe.Text;

            SanPham sanPham = new SanPham();
            sanPham.MaSanPham = txtMaThe_DangKyThe.Text;
            sanPham.LoaiSanPham = (int)LOAISANPHAM.The;
            var tenDangNhap = Program.NguoiSuDung.TenDangNhap;
            int iRET = BizUtility.DangKyThe(khachHang, sanPham, tenDangNhap,
                int.Parse(cmbLoaiThe_DangKyThe.Text),
                int.Parse(txtSoTien_DangKyThe.Text),
                dtpNgayDangKy_DangKyThe.Value,
                dtpNgayHetHan_DangKyThe.Value);
            if (iRET == 1)
            {
                //Lưu ảnh avatar
                MessageBox.Show("Đăng ký thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Dispose();
                //ResetDataDangKyThe();
            }
            else if (iRET == -1)
                MessageBox.Show("Mã thẻ đã tồn tại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            else
                MessageBox.Show("Đăng ký thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            #endregion
        }
        void ResetDataDangKyThe()
        {
            errorInfo.Clear();
            txtHo_DangKyThe.Text =
                txtTen_DangKyThe.Text =
                txtSoDienThoai_DangKyThe.Text =
                txtDiaChi_DangKyThe.Text =
                txtGhiChu_DangKyThe.Text =
                txtMaThe_DangKyThe.Text = "";
        }
        void NgayHetHanChange(int loaiThe)
        {
            dtpNgayHetHan_DangKyThe.Value = dtpNgayDangKy_DangKyThe.Value.AddMonths(loaiThe);
        }

        private void btnBoQua_Click(object sender, EventArgs e)
        { 

        }

    }
}
